<?php
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 * @author shirui@comsenz.com
 *
 * 组合复杂参数查询时的url
 *
 * string是一个符合query规则的字符串，例如：a=&b=1
 * 其中a将会被去掉，b将替换成1，而其他的get参数则会被保留下来
 *
 * 例如，现在的url是 http://www.qq.com/?a=1&b=2&c=3
 * 传入：{"a=&b=1"|url_build}
 * 则结果为：http://www.qq.com/?b=1&c=3
 */
function smarty_modifier_url_build($string) {

    $vars = array();
    parse_str($string, $vars);
    if (!$vars) {
        return '';
    }

    $args = array_merge($_GET, $vars);

    foreach ($args as $k => $v) {
        if ($v === '' || $v === null) {
            unset($args[$k]);
        }
    }

    return http_build_query($args);
}

?>
